#include <linux/smp.h>
#include <linux/cpu.h>

#include <linux/init.h>
#include <riscv/smp.h>

static void __init of_parse_and_init_cpus(void)
{
    hartid_to_cpuid_map(1, 1);
}

void __init setup_smp(void)
{
    int cpuid;

    of_parse_and_init_cpus();

    for (cpuid = 1; cpuid < NR_CPUS; cpuid++)
    {
        if (cpuid_to_hartid_map(cpuid) != INVALID_HARTID)
            set_cpu_possible(cpuid, true);        
    }
}
